#include "system.h"

#include "peripheral.h"
#include "device.h"

#include "status.h"
#include "automatic.h"
#include "color_sensor.h"
#include "track.h"

extern u8 percent=50;

int main(void)
{
  HAL_Init();               /* hal初始化 */
  system_init();            /* 时钟与延时初始化 */

  peripheral_init();        /* 外设初始化 */ 
  
  /* 在蜂鸣器响之前，有3秒时间放置物块于夹手 （2s）*/
  servo_put_down();
  delay_ms(2000);	
  buzzer_tip();  
  servo_take_up();
  delay_ms(1000);

//	while(1)
//	{
//		track_drive(500);
//		buzzer_tip();
//	}
	/* 颜色识别，设置目标点路径选择 */
  status.location    = '0';
  status.destination = '2';//color_cube();
//	color_cube(); 
//  
	
	/* 运行至选择的路口 */
  auto_run(status.location, status.destination);
  
  /* 运行到传送带起始区 */
  status.destination = '5';
  auto_run(status.location, status.destination);
  
  auto_transporter_start();   /* 物块放到传送带上 */
	
  /* 运行到传送带结束区 */
  status.destination = '6';
  auto_run(status.location, status.destination);	
  
  auto_transporter_end();     /* 从传送带上取物品 */

  /* 运行到投掷区 */
  status.destination = '8';
  auto_run(status.location, status.destination);	
  
  auto_throw();     /* 把物块放在投掷筐里 */

  /* 运行到起止区 */
  status.destination = '9';
  auto_run(status.location, status.destination);	
	
	while(1);
}


/*
  gray_single_test();
  ps2_test();
  track_ps2_control_test();
  gray_single_test();
  color_sensor_test();
  track_drive_test();

*/




